package com.hifar.test.test.pojo.VO;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hifar.plat.AopOption.TranslationList;
import com.hifar.plat.baseModal.pojo.BaseOssFiles;
import com.hifar.test.test.pojo.HfEnvTest;
import com.hifar.test.test.pojo.HfEnvTestPerson;
import com.hifar.test.test.pojo.HfEnvTestPiece;
import com.hifar.test.test.pojo.HfEnvTestSensor;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zhuWeiWei
 * @description 试验数据
 * @date 2024/12/24 11:57
 */
@Data
@EqualsAndHashCode
@ApiModel("试验数据")
public class HfEnvTestDataVO extends HfEnvTest {

    @ApiModelProperty("试验id")
    @NotEmpty(message = "id不能为空!")
    private String id;
    /**
     * 实际开始时间
     */
    @ApiModelProperty(value = "实际开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "realStartTime")
    private Date realStartTime;

    /**
     * 实际结束时间
     */
    @ApiModelProperty(value = "实际结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @JSONField(name = "realEndTime")
    private Date realEndTime;

    /**
     * 试验图片
     */
    @TranslationList(isTranslation = true)
    private List<BaseOssFiles> testImageList;
    /**
     * 摆动状态
     */
    @TranslationList(isTranslation = true)
    private List<BaseOssFiles> swingStatusList;
    /**
     * 试验附件
     */
    @TranslationList(isTranslation = true)
    private List<BaseOssFiles> testFileList;

    /**
     * 试验图谱
     */
    @TranslationList(isTranslation = true)
    private List<BaseOssFiles> testChartList;


    /**
     * 试验曲线
     */
    @TranslationList(isTranslation = true)
    private List<BaseOssFiles> testCurveList;


    /**
     * 传感器
     */
    @TranslationList(isTranslation = true)
    private List<HfEnvTestSensor> sensorList;

    @ApiModelProperty("校核人员列表")
    @TranslationList(isTranslation = true)
    private List<HfEnvTestPerson> checkUserList;

    @ApiModelProperty("检验人员列表")
    @TranslationList(isTranslation = true)
    private List<HfEnvTestPerson> testUserList;

    @ApiModelProperty("试验样品列表")
    private List<HfEnvTestPiece> testPieceInfo;

    @ApiModelProperty("参试人员")
    private TestUserVO testUser;

}
